<?php


namespace app\controller;


class Image
{
    public function create(){
        $bg_filename = "https://t7.baidu.com/it/u=4036010509,3445021118&fm=193&f=GIF";
        $qrcode_filename = "https://ext.dcloud.net.cn/plugin?id=5747";
        $qrcode_width = 300;
        $qrcode_height = 300;
        $x = 50;
        $y = 50;
        $this->out_poster($bg_filename, $qrcode_filename, $qrcode_width,  $qrcode_height, $x, $y);
    }
    public function test(){
// 创建画布并加载背景图片
        $image = imagecreatefromjpeg('https://t7.baidu.com/it/u=4036010509,3445021118&fm=193&f=GIF'); // 这里使用了JPEG格式的背景图片作为示例

// 设置字体样式、大小等参数
        $fontFile = '/mnt/sdc/www/wwwroot/blqviewform.yyuebd.com/public/static/汉仪雅酷黑-55.ttf'; // TrueType字体文件路径
        $textColor = imagecolorallocate($image, 255, 0, 0); // 红色文本颜色
        $textSize = 36; // 文本大小（单位：像素）

// 在指定位置添加文本到图像上
        $xPosition = 100; // X坐标
        $yPosition = 100; // Y坐标
        $textString = "你好啊汤姆"; // 要显示的文本内容

// 调用 imagettftext() 函数来添加文本到图像上
        imagettftext($image, $textSize, 0, $xPosition, $yPosition, $textColor, $fontFile, $textString);

// 输出结果图像
        header("Content-type: image/png");
        imagepng($image);
        exit;
    }
    function out_poster(string $bg_filename, string $qrcode_filename, int $qrcode_width, int $qrcode_height, int $x, int $y)
    {
        $stream_opts = [
            "ssl" => [
                "verify_peer"=>false,
                "verify_peer_name"=>false,
            ]
        ];
        // 背景图file_get_contents($url, false, stream_context_create($stream_opts));
        $bg_im = imagecreatefromstring(file_get_contents($bg_filename,false,stream_context_create($stream_opts)));

        // 二维码
        $qrcode_blob = file_get_contents($qrcode_filename,false,stream_context_create($stream_opts));
        $qrcode_im = imagecreatefromstring($qrcode_blob);
        list($width_orig, $height_orig) = getimagesizefromstring($qrcode_blob);

        // 缩放二维码
        $new_qrcode = imagecreatetruecolor($qrcode_width, $qrcode_height);
        imagecopyresampled($new_qrcode, $qrcode_im, 0, 0, 0, 0, $qrcode_width, $qrcode_height, $width_orig, $height_orig);
        imagedestroy($qrcode_im);

        // 透明度
        $alpha = 100;

        // 合并图片
        imagecopymerge($bg_im, $new_qrcode, $x, $y, 0, 0, $qrcode_width, $qrcode_height, $alpha);

// 设置字体样式、大小等参数
        $fontFile = '/mnt/sdc/www/wwwroot/blqviewform.yyuebd.com/public/static/汉仪雅酷黑-55.ttf'; // TrueType字体文件路径
        $textColor = imagecolorallocate($bg_im, 255, 0, 0); // 红色文本颜色
        $textSize = 36; // 文本大小（单位：像素）

// 在指定位置添加文本到图像上
        $xPosition = 100; // X坐标
        $yPosition = 300; // Y坐标
        $textString = "Hello World!"; // 要显示的文本内容
        // 调用 imagettftext() 函数来添加文本到图像上
        imagettftext($bg_im, $textSize, 0, $xPosition, $yPosition, $textColor, $fontFile, $textString);



        // 合并输出格式
        header('Content-type: image/jpeg');
        imagejpeg($bg_im);
        // 释放资源s
        imagedestroy($bg_im);
        imagedestroy($new_qrcode);
        exit;
    }
}
